home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
17 Bit Software 6: Level 6
/
17 Bit - Level 6 (1998)(Epic Marketing)[!].iso
/
quartz
/
q0222.dms
/
q0222.adf
/
Copper-Paint.doc
< prev
next >
Wrap
Text File
|
1991-05-10
|
7KB
|
133 lines
Copper-Paint-DEMO-Version
-------------------------
Copper-Paint wurde von Holger Hippenstiel in 1989-1991 geschrieben.
Die Funktion:
-------------
Jeder hat wohl schon davon gehört, daß der Copper auf eine Position auf
dem Bildschirm warten kann um dann irgendwelche Operationen durchzuführen,
z.B. ändern der Farbe00 in Register $180 der Customchips. Womit man dann
den Bildschirm mit einem Farbregister in mehrere Farben unterteilen kann.
Jeder Befehl des Coppers verbraucht aber Zeit,egal ob Wait,Skip oder Move.
Ist bei einem Skip die geforderte Zeile übersprungen,wird zwar sofort
fortgefahren, aber beim Vergleich ob kleiner,größer oder gleich verbraucht
der Copper auch seine Taktzyklen.Wartet man also auf X1,Y1 und schreibt dann
schwarz in die Farbe00 und wartet dann auf die nächste Rasterstrahlposition
(X2,Y1), ist der Rasterstrahl also schon viel weiter,da die Befehle Zeit
verbrauchen, die ihnen auch noch zugeteilt wird, denn der Prozessor,
der Blitter, die Bildschirm-DMA, die Sound-DMA usw. wollen ja auch arbeiten.
Das heisst aber nicht das wenn man alles ausschaltet,der Copper schneller
würde ! Freiwerdende Taktzyklen werden dem Prozessor zugeteilt.
Will man also mit dem Copper eine möglichst hohe Auflösung erreichen,
darf man nicht (zuviel) warten.Also nur ein Wait am Anfang der Zeile,
das muss allerdings sein, weil durch die Austastlücke eine ungerade Anzahl
Zyklen enstehen. Also nur ein Wait und danach ohne Unterbrechung nur Moves.
Beispiel: Wait 1,1 ; Move 0,180 ; Move 1,180 ; Move 2,180 ; Move 3,180 ...
Dadurch würde sich ein übergang von Schwarz nach Blau auf dem Bildschirm
bilden ! Aber nicht etwa wie man es gewohnt ist von oben nach unten,
sondern von links nach rechts !¡!
Turboprozessoren:
-----------------
Es ist 100% in Assembler geschrieben,also braucht man eigentlich
keinen Turboprozessor.
Wenn sie einen haben sollte,so schaltet sie bitte das Cache aus.
Das Programm hat in der Hauptroutine eine Stelle an der es sich
selbst modifiziert. Das auch nur weil ich sonst für jeden modi eine
eigene Zeichenroutine haben müßte. Denn ich kann nicht bei jeder
Verknüpfung erst abfragen welcher Zeichenmodi gerade aktiv ist !
Das würde das Programm erheblich langsamer machen !!
Aber wenn ich für jeden Modi eine eigene Routine hätte dann würde
es erheblicher länger werden ...
Also wenn sie einen Turbo-Prozessor mit Cache haben
so schalten sie es bitte aus. Das Programm wird sich zwar nicht
aufhängen wenn sie es nicht tun,aber die Zeichenmodi können
nicht mehr ausgewählt werden. (bzw haben alle dieselbe Wirkung.)
Anforderungen:
--------------
Copper-Paint wurde erfolgreich auf WB 1.2,1.3 & 2.0 getestet.
Copper-Paint braucht mindestens 512 KB,läuft aber auch mit
Erweiterung,unterstützt sie jedoch (noch) nicht.
Es wird die Arp.library ab Version 39 oder höher gebraucht.
Copper-Paint kann vom CLI oder der Workbench gestartet werden.
(Bei der Demoversion wird kein Icon ausgeliefert.)
Aufbau:
Copper-Paint nutz den Copper zur Bilddarstellung.
Es werden keine Bitplanes zur Darstellung der Farben benötigt,
daher kann jedes Copper-Paint-Bild mit jedem normalen IFF-Bild
gleichgzeitig auf einem Bildschirm angezeigt werden,dafür sind
keine Prozessorzugriffe oder ähnliches nötig.
Das einzige Handicap das sich bei der benutzung von Copper-Paint
bildern ergibt ist das die IFF-bilder nur 4 Planes haben dürfen.
Bei mehr als 4 Bitplanes treten logischerweise auch mehr Bitplane
-DMA's auf,die Grafikdaten müssen ja ausgegeben werden.
Und ab 4 Bitplanes niedriger oder hoher Auflösung reichen die
"normalen" Taktzyklen der DMA nicht mehr aus um das Bild voll
auszugeben.Also werden dem 68000 Taktzyklen entzogen und der
Bitplane-DMA zugeteilt.Genauso geht's auch dem Copper der auf einen
Engpass trifft und nicht mehr regelmäßig (alle 8 Punkte) einen
Befehl abgearbeitet bekommt.
Daher ergibt sich die Begrenzung der 4 Planes.
An Copper-Paint kann man erkennen wie Digi-View 4.0 mit Hoher
Auflösung 4096 auf den Bildschirm bekommt.
Man kann ja nicht nur die Hintergrundfarbe alle 8 Punkte ändern ...
Datenformat:
Die Copperlisten werden gecruncht auf Diskette abgelegt.
Es wird ein schnelles (simples) aber effektives packverfahren
angewandt. (Leere Copperliste auf Disk = 10 Bytes)
Das Verfahren ist so schnell das man nicht vom Packen oder
Entpacken merkt,höchstens wenn man sich das direktory ansieht.
Copper-Paint kann nur files mit dem Anhängsel ".cop" laden und
speichern. Wird das Anhängsel nicht selbst angefügt,hängt es das
Programm an. Ausserdem enthält jede gespeicherte Copperliste eine
Kennung um Programmfehler oder Prüfsummenfehlern zu entgehen.
Backups:
Wenn ein File abgespeichert wird und der Name schon existiert,
wird das File in Backup.cop umbenannt.
Nicht wie bei Deluxe Paint,Deluxe Paint macht folgendes :
Es sieht nach ob es das File backup.pic schon gibt.
Wenn ja löscht es das File.
Dann kopiert es das Bild das überschrieben werden soll nach
backup.pic und speichert erst dann das eigentliche Bild.
Copper-Paint macht es so :
Backup.cop löschen (ohne nachsehen ob vorhanden),
dann das Aktuelle File Renamen nach Backup.cop (Renamen,nicht kopieren !)
und dann speichert es die Copperlist.
Der Zeitunterschied ist beachtlich !
(Praktisch kein Unterschied zu normalem Speichern !)
Die Zusatzprogramme:
Zu Copper-Paint gehoeren noch eine reihe anderer Programme die aber nicht
bei der Demoversion ausgeliefert werden. Weshalb Zusatzprogramme ?
Was nuetzt die schoenste Copper-Liste wenn man sie nicht benutzen kann ?
Oder eine erstellte Copper-Animation ohne dazugehoerigen Player ?
Die Zusatzprogramme uebernehmen diese Funktionen.
1) Programm zum Anzeigen einer Copper-Liste auf der Worbench.
2) Programm zum Konvertieren der Copper-Liste in Assembler. (dc.w Col0,xxx)
3) Programm zum Anzeigen einer Copper-Liste & einem IFF-Bild.
4) Programm zum Spielen von Copper- und/oder IFF-Animationen.
5) Programm zum Konvertieren eines IFF-Bildes als Copperlist.
6) Programm zum Konvertieren einer Copperlist als IFF-Bild. (Lo-res/HAM)
7) Programm zum Installieren von Copper-Paint auf Festplatte.
Bei allen Programmen erfaehrt man durch denn Parameter "?" mehr.
Die Demoversion:
Wenn sie das Programm laden werden sie bemerken das :
1) Die Speicherfunktionen nicht funktionieren.
2) Die Menues ab "Extras" nicht aktiv sind.
3) Die Zusatzprogramme nicht vorhanden sind.
4) Im Menu "Extras" der sonst nichtvorhandene Punkt "Gruesse an".
(Achtung :Die Speicherfunktion & die funktionen ab "Extras" sind nicht in der
Demoversion als Code vorhanden. Der Aufruf bewirkt nichts,ist nicht moeglich
oder es wird eine ensprechende Meldung ausgeben.)
Das war es erstmal,viel Spass mit der Demoversion ... Holger Hippenstiel